package com.qf.day10_3;

import java.util.Arrays;

/**
 * @author wgy
 * @version V1.0
 * @Project day10
 * @Package com.qf.day10_3
 * @Description: 动物管理类
 * @Date 2021/5/31 11:45
 *
 */
public class AnimalManager {
    /**
     * 保存动物的数组
     * 不需要外界访问，不要添加get和set方法
     */
    private Animal[] animals=null;
    /**
     * 实际保存的动物个数
     * 不需要设置，只添加get方法
     */
    private int size=0;
    /**
     * 构造方法
     */
    public AnimalManager(){
        this.animals=new Animal[100];
    }

    public int getSize() {
        return size;
    }
    /**
     * 添加动物
     * @param animal 动物
     */
    public boolean add(Animal animal){
        if(size>=100){
            System.out.println("动物园已满");
            return false;//结束方法
        }
        animals[size]=animal;
        size++;
        return true;
    }
    /**
     * 根据昵称查询动物
     * @param nickname
     * @return
     */
    public Animal[] find(String nickname){
        //创建一个新的数组
        Animal[] arr=new Animal[size];
        int pos=0;
        for(int i=0;i<size;i++){
            Animal an=animals[i];
            String nk=an.getNickname();
            if(nk.equals(nickname)){
                arr[pos++]=an;//把找到动物放入新的数组
            }
        }
        if(pos>0){//找到了
            return Arrays.copyOf(arr, pos);
        }else{
            return null;
        }
    }
    /**
     * 遍历动物
     */
    public void list(){
        for(int i=0;i<size;i++){
            Animal an=animals[i];
            an.show();
        }
    }

}
